1. Field of the Invention
This invention relates to a servo control device.
2. Description of Related Art
As examples of servo motor control method, (1) position control, (2) speed control, and (3) current control are known.
Position control is a method in which a speed command is generated based on a difference between a positioning command and a positional feedback such that a target to be controlled can be moved to or maintained at an intended position.
Speed control is a method in which a current (torque) command is generated based on a difference between a speed command and a speed feedback such that the speed of a target to be controlled can be controlled at an intended value.
Current control is for controlling a current driver in accordance with a difference between a current command and a current feedback such that the current value of a target to be controlled can be controlled at an intended value. In a servo motor, the current driver corresponds to an inverter device typically controlled by PWM (pulse width modulation). In a synchronous motor, an electrical angle, which is used for arithmetical operation of the position of the magnetic poles of the motor, is necessary for the current control.
Heretofore, the aforementioned three ways of control have been realized by software (algorithm) executed on CPU.
FIG. 4 is a schematic block diagram shown to explain an existing technique for current control of a synchronous motor. As shown in FIG. 4, when current commands (U-phase current command and W-phase current command) are given to a CPU from outside, CPU 51 calculates a command value to be given to a PWM inverter 52 according to an algorithm realized by software beforehand such that the difference between the current command and the current value of a motor 61 detected from current detectors 62a, 62b becomes zero. According to the command value sent from CPU 51, the PWM inverter 52 supplies the motor 61 with an electric power for rotating it.
Speed control and position control can be realized in substantially the same manner as the current control shown in FIG. 4. When speed control is realized, both of the current control and the speed control are implemented. When position control is realized, all of the current control, the speed control and the position control are implemented.
FIG. 7 is a block diagram schematically showing an existing combination of a servo control device 100 and a servo motor 200. In general, a servo control device for controlling a plurality of servo motors controls individual axes of the servo motors in each clock period. The servo control device includes current drivers for driving the servo motors and control arithmetical units for controlling the current drivers. To enable the servo control device to control individual axes of the servo motors, the current drivers and the control arithmetical units are respectively associated with individual axes of the servo motors.
The servo control device 100 shown in FIG. 7 includes a position controller 110, speed controller 120, control arithmetical units 130, current drivers 150, current detectors 170, current feedback circuits 190, position detectors 210, and position feedback circuits 220. The control arithmetical units 130, current drivers 150, current detectors 170, and current feedback circuits 190 are respectively associated with the individual axes of the servo motors 200. Each servo motor 200 has its own position detector 210.
The position controller 110 generates a speed command based on a position command. The speed controller 120 generates a current command based on the speed command from the position controller 110.
Each control arithmetical unit 130 controls the associated current driver 150 in accordance with the current command from the position controller 110, and each current driver 150 supplies a current to the associated servo motor 200. The servo motor 200 is driven by this current.
Each position detector 210 detects the position of the associated servo motor 200, and the position feedback circuit 220 sends the detected position of the servo motor 200 back to the position controller 110 as feedback information.
The current supplied to each servo motor 200 is detected by the associated current detector 170. The current value detected by the current detector 170 is returned to the control arithmetical unit 130 by the current feedback circuit 190.
The control arithmetical unit 130 compares the current value returned from the current detector 170 with the current value specified by the current command and calculates a corrected current to be supplied to the servo motor 200.
For control of each servo motor, control periods (time) for (1) position control, (2) speed control and (3) current control must satisfy the relation of (1)>(2)>(3) because the torque (current) must be controlled with a response time faster than that of the speed in order to control the speed, and the position must be controlled with a response time faster than that of the speed in order to control the position.
The control period of (1) concerns the positional accuracy, and the shorter the control period the higher the performance realized. The main current of the position control period for typical servo control devices ranges from several hundred μsec to several msec.
On the other hand, CPU 51 in charge of current control explained in conjunction with FIG. 4 must carry out procedures as many as several hundred steps to several thousand steps for execution of the control in order to sequentially manage its arithmetical operations for the control. Therefore, it usually takes tens of μsec or more in turnaround time from inputting the command value until outputting a resultant value.
It is known that reduction of the turnaround time contributes to reduction of the so-called useless time in the control theory and makes it possible to set up a higher gain in the control loop and thereby improve the controllability. That is, the shorter the turnaround time a controller has, the higher its control capability may be.
The turnaround time depends upon the processing speed of the CPU. However, CPUs having high processing speeds are expensive. Therefore, the control period of (3) is already near the limit of the performance of typical CPUs currently available, taking the relation of (1)>(2)>(3) into consideration.
Therefore, it was difficult to attain both an improvement of the control performance and a reduction of the cost with conventional servo control devices.
In the servo control device 100 shown in FIG. 7, current control relied upon arithmetical processing of a program, the software, by each control arithmetical unit 130, the hardware. That is, in the conventional technique, the control arithmetical unit 130 was a program-controlled type device. Therefore, the servo control device 100 involved the same problem.
Further, since the servo control device 100 shown in FIG. 7 uses a plurality of control arithmetical units 130 individually associated with the respective servo motors 200, it needs the same number of CPUs, and hence involved the additional problem that its cost and size increase a lot.
It is therefore desired to provide a servo control device reduced in manufacturing cost, compact and shorter in control period of the target of the control than a conventional one, and thereby capable of attaining both an improvement of the control capability and reduction of the cost.